Traditional storage systems centralize storage servers to store data. Using centralized servers, the traditional storage systems have some disadvantages (e.g., low performance, reliability and security). Recently, distributed storage systems have been developed to overcome these disadvantages. As a scalable system, a distributed storage system shares storage load using location-based servers. However, in some situations, such as server downtime, maintenance downtime, or network failure, the distributed storage system may be unusable. Although existing technologies provide solutions to deal with such situations, these solutions make current distributed storage systems complicated and hence result in low performance of the storage systems (e.g., a long latency and low throughput).